#ifndef MIPSVBASICBLOCKBUILDER_H
#define MIPSVBASICBLOCKBUILDER_H

#include "crossbit/VBasicBlockBuilder.h"

namespace crossbit {

#define		REGUSED	0x01
#define		REGDEF	0x02

				class MIPSVBasicBlockBuilder : public VBasicBlockBuilder {
								public:
												MIPSVBasicBlockBuilder();

												~MIPSVBasicBlockBuilder()
												{
												}

												virtual void getReady(XTMemAddr pc);

												virtual void add(VInst *inst);

												virtual VBlock *wrapUp(XTMemAddr pc);

								private:
												static const XTInt32 MAXREGS = 256;

												XTInt32 usedRegTable[MAXREGS];		//Use a static table for speed

												//latest used location of the regs in the vblock
												XTInt32 luIndex[MAXREGS];


				};
}

#endif	//MIPSBASICBLOCKBUILDER_H
